package panel;



import java.awt.Graphics;

import org.uc3m.ed.interfaz_grafica.ventana.PanelDibujo;
import org.uc3m.ed.interfaz_grafica.ventana.VentanaPrincipal;
import org.uc3m.ed.tad.ITAD;
import org.uc3m.ed.tad.lista.Cola;

import dibujo.DibujoCola;



public class PanelDibujoCola extends PanelDibujo{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * 
	 */
	private Cola<Integer> _cola;
	
	/**
	 * 
	 */
	private DibujoCola _dibujoCola;
	
	/**
	 * 
	 */
	public PanelDibujoCola ()
	{
		super();
		_dibujoCola= new DibujoCola(this);
	}

	/* (non-Javadoc)
	 * @see org.uc3m.ed.interfaz_grafica.ventana.PanelDibujo#getEstructura()
	 */
	@Override
	public ITAD<Integer> getEstructura() {
		return _cola;
	}

	/* (non-Javadoc)
	 * @see org.uc3m.ed.interfaz_grafica.ventana.PanelDibujo#paint(java.awt.Graphics)
	 */
	@Override
	public void paint(Graphics grafico) {
		try{
			grafico.clearRect(0,0, getWidth(),getHeight());
			if (_cola!=null)
				_dibujoCola.dibujar(grafico,_cola);
		}catch(Exception e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::Cola::PanelDibujoCola ERROR::1\n   Se ha producido una Excepcion: "+e.toString());
		}catch(Error e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::Cola::PanelDibujoCola ERROR::2\n   Se ha producido un Error: "+e.toString());
		}
		
	}

	/* (non-Javadoc)
	 * @see org.uc3m.ed.interfaz_grafica.ventana.PanelDibujo#setEstructura(org.uc3m.ed.tad.ITAD)
	 */
	@Override
	public void setEstructura(ITAD<Integer> pila) {
		try{
			_cola=(Cola<Integer>) pila;
		}catch(Exception e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::Cola::PanelDibujoCola ERROR::3\n   Se ha producido una Excepcion: "+e.toString());
		}catch(Error e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::Cola::PanelDibujoCola ERROR::4\n   Se ha producido un Error: "+e.toString());
		}
		
	}
	
}
